home *** CD-ROM | disk | FTP | other *** search
/ Amiga Packmags / NewsFlash - Issue 18 (1991-05)(UGA - NewsFlash UK)(Disk 2 of 2)[bootable].zip / NewsFlash - Issue 18 (1991-05)(UGA - NewsFlash UK)(Disk 2 of 2)[bootable].adf / JamCrackerPro.doc / JamCrackerPro.doc
Text File  |  1978-11-08  |  16KB  |  326 lines

  1.                               BETRAYAL Presents
  2.                               
  3.                          JamCrackerPro V1.0a by Xag
  4.                          
  5.                      Adapted from M. Gemmel's JamCracker
  6.                      
  7.  
  8.                                 INTRODUCTION
  9.                                 
  10. The original JamCracker had several limitations (and loads of bugs) so I took
  11. it  upon  myself  to do an updated version.  What started out as a project to
  12. simply  fix  the  bugs  turned into a major revision of the entire editor, so
  13. we've  decided to called this new version JamCrackerPro.  JamCrackerPro looks
  14. similar  to JamCracker, and currently uses virtually the same song format for
  15. compatibility  (this  will change with the next release), but it now has many
  16. new options and improvments, not to mention all the bug fixes.
  17.  
  18. Improvements since JamCracker V1.0:
  19.  
  20.           - Makes full use of Requester library
  21.           - Most (hopefully all) bugs fixed
  22.           - New wave editor functions (see WAVEFORM EDITOR section)
  23.           - New Prefs feature (see PREFERENCES section)
  24.           - Improved layout
  25.           - Improved file handling (checks if files exists when saving etc.)
  26.           - Improved used of keyboard (especially in Pattern Editor)
  27.           - Program auto-detaches itself from CLI
  28.           - Uses Topaz font for greater convenience
  29.           - New pattern edit functions (see PATTERN EDITOR section)
  30.           - Now possible to save loaded samples
  31.           - Seperate song name, saved with module
  32.           - Significantly faster play-routine (see end)
  33.  
  34. JamCrackerPro shouldn't really be run from Workbench, but nothing disasterous
  35. will happen if it is.
  36.  
  37.  
  38.                                 SONG CONTROL
  39.                                 
  40. From  this  window  you control such things as playing and stopping the song;
  41. loading,  saving and deleting songs and editing the sequence of patterns that
  42. makes  up  a  song.   Here  is  a  description of the various sections of the
  43. window:
  44.  
  45. LENGTH:   Length  of  the current song in patterns.  A song is always at
  46.           least  one  pattern long.  The maximum length of a song is $FF
  47.           patterns.
  48. POSITION: The current position (in patterns) in the song, zero being the
  49.           start.
  50. PATTERN:  The pattern number assigned to the current position.
  51. SIZE:     The size of the whole song in bytes, including instruments.
  52. FREE MEM: The  amount  of  free Chip-RAM in bytes.  JamCrackerPro uses
  53.           only Chip-RAM for it's data
  54. PLAY:     Plays  the song starting from the current position.  After the
  55.           last pattern in the sequence has played, the song will restart
  56.           from position zero.
  57. STOP:     Stops the song, leaving the current position intact.
  58. LOAD:     Allows you to load a new song.
  59. SAVE:     Allows you to save the current song. The name you type in to the
  60.           songname box (18 chars) is saved after the actual module. Modules
  61.           without the name extension will adopt their filenames as their
  62.           songname.
  63. CLEAR:    Clear everything allowing you to start from scratch.  The only
  64.           thing  left  intact  is  the  contents  of the Waveform Editor
  65.           window and the Waveform Editor's undo buffer.
  66. QUIT:     Allows you to exit JamCrackerPro.
  67. ABOUT:    Brings up the obligatory "about..." requester.
  68. SHOW:     Brings up a file-requester simply for the purpose of examining
  69.           disk's contents.
  70. DELETE:   Allows you to delete files.
  71. PREFS:    Brings up the prefs window.  See the next section.
  72.  
  73.  
  74.                                  PREFERENCES
  75.                                  
  76. This  function enables you to specify certain defaults which will take effect
  77. every time you run JamCrackerPro.  You can specify the following settings:
  78.  
  79.  - Screen colours. All four colours can be edited using the Requester
  80.    library's palette editor.
  81.  
  82.  - Low-pass filter. This can be turned on or off as desired.
  83.  
  84.  - Default directory paths. You can specify the default directories for
  85.    Songs, Patterns, Waveforms and Instruments (raw samples).
  86.  
  87.  - Blank step characters. These are the characters used to display a blank
  88.    step in the pattern editor.
  89.  
  90. If  you  make  some changes to the preferences and then decide you don't like
  91. them,  you can reload the last-saved preferences using the LOAD option.  When
  92. you're happy with the settings, use SAVE to store them.  The preferences file
  93. is called "S:JamCrackerPro.prefs".
  94.  
  95.  
  96.                                WAVEFORM EDITOR
  97.                                
  98. Here  you  can edit, load and save simple custom waveforms, which can be used
  99. as  instruments.  Custom waveform sizes are $40 bytes.  They are much smaller
  100. than  samples,  and therefore, you can use a lot of them without wasting much
  101. memory.   You can create and edit waveforms by drawing in the window with the
  102. mouse.  Here's a description of the gadgets:
  103.  
  104. ZERO:     Clears the current waveform.
  105. SINE:     Generates a sine-shaped waveform.
  106. TRIANGLE: Generates a triangle-shaped waveform.
  107. SQUARE:   Generates a square-shaped waveform.
  108. SAW:      Generates a sawtooth-shaped waveform.
  109. RANDOM:   Generates a randomly shaped waveform (can be used as the basis for
  110.           simple white-noise effects - see the PATTERN EDITOR section).
  111. MIX:      Mixes the contents of the undo buffer with the current waveform.
  112.           This enables you to produce some interesting waveshapes. The undo
  113.           buffer is left intact after mixing - see later for tips on use.
  114. LOUD:     Increases the amplitude of the waveform by a factor of two.
  115. DOUBLE:   Increases the pitch of the waveform by one octave.
  116. HALVE:    Replaces this waveform with its first half (if the waveform was
  117.           previously doubled, its pitch will halve).
  118. UNDO:     Lets you undo the results of ANY waveform-editor function apart
  119.           from mix.
  120. LOAD:     Allows you to load a waveform.
  121. SAVE:     Allows you to store waveforms.
  122.  
  123. THE MIX FUNCTION
  124.  
  125. This function will mix together (add and average) two waveforms, one of which
  126. is  the  variable  waveform  in  the editor window and the other is the fixed
  127. waveform  in  the  undo  buffer.   To  mix  a  triangle waveform and a square
  128. waveform,  with  the  latter being fixed, first select the SQUARE option, and
  129. then  the TRIANGLE option.  This means that the undo buffer contains a square
  130. waveform,  with  the triangle waveform on-screen.  Selecting mix will mix the
  131. two.  Repeatedly selecting mix will cause the shape of the on-screen waveform
  132. to  get  closer and closer to the shape of the fixed source waveform, in this
  133. case the square wave.
  134.  
  135. The  MIX  function can be used as an opposite to the LOUD function.  To halve
  136. the  amplitude  of  a waveform, make sure the waveform is in the edit-window.
  137. Now  select  ZERO and then MIX.  The resultant waveform will be your original
  138. waveform with half it's amplitude.
  139.  
  140.  
  141.                               INSTRUMENT WINDOW
  142.                               
  143. This  window  allows you to manage your instruments, be they custom waveforms
  144. or samples.
  145.  
  146. NUMBER:   The number of the current instrument. You can have up to $100
  147.           instruments in any one song, memory permitting.
  148. SIZE:     The size of the current instrument in bytes. Custom waveforms
  149.           take up $180 bytes, even though the actual waveform data is $40
  150.           bytes.
  151. TYPE:     Can be "(None)" if the current instrument position is empty,
  152.           "Sample" if the instrument is a sample or "Synth" if it is a
  153.           custom waveform.
  154. NAME:     The (displayable part of the) name of this instrument (custom
  155.           waveforms don't have names).
  156. LOAD:     Allows you to load raw sample data.
  157. SAVE:     Allows you to save the current sample as raw data. If the
  158.           instrument uses a custom waveform, this waveform will be saved as
  159.           if you saved it from the Waveform Editor (ie. a $40 byte raw
  160.           sample).
  161. CLEAR:    Removes the selected instrument from memory.
  162. ONCE/LOOP:Lets you determine if this instrument is played once, or looped
  163.           continuously. Custom waveforms are always looped.
  164. COPY FROM Uses the current waveform in the Waveform Editor window as an
  165.   EDITOR: instrument.
  166. COPY TO   Copies the instrument's waveform into the Waveform Editor
  167.   EDITOR: window. This is only possible if (a) the instrument is a custom
  168.           waveform or (b) if the size of the sample is $40 bytes.
  169. OCTAVE:   Can be UPPER or LOWER.  It is the octave at which notes are edited
  170.           and played directly.
  171.  
  172.  
  173.                                PATTERN EDITOR
  174.                                
  175. In  this  window  you can edit the patterns used to make up a song.  Patterns
  176. consist  of  note  data  for four channels, and can be a maximum of $40 steps
  177. (notes) long. Here's what you can do:
  178.  
  179.  - Use the up/down cursor keys to move up/down the pattern.
  180.  - Use left/right shift and up/down cursor keys to skip $10 notes at a time.
  181.  - Use the left/right cursor keys to select what to edit. This can be notes
  182.    or note-data (instrument, effects etc.)
  183.  - Use left/right shift and left/right cursor keys to move the cursor to
  184.    either edge of the pattern edit area.
  185.  - Use F1 while editing notes to toggle between upper and lower octaves.
  186.  
  187. The format of a step is:    XX YYY IISAAVVPVVVPPP
  188.  
  189. where:    IISAAVVPVVVPPP are the note-data numbers
  190.  
  191.           XX  is the step number
  192.           YYY is the note itself, or a blank step if there is no note
  193.           II  is the number of the instrument used to play this note
  194.           S   is the pattern play speed
  195.           AA  is the arpeggio info
  196.           VV  is the vibrato info
  197.           P   is the phase-shift speed
  198.           VVV is the volume info
  199.           PPP is the pitch slide/portamento info
  200.  
  201. To  enter  a  note,  position  the cursor over the YYY area and press a "note
  202. key".   The  same applies to all other info numbers; position the cursor, and
  203. enter the data.
  204.  
  205. S   - The play speed is a number from 0-$F.  It is the time in 1/50th of a
  206.       second to wait between two notes.  If it is 0, the speed will remain
  207.       unaffected.
  208. AA  - These are two numbers from 0-$E each.  They set the arpeggio offsets.
  209.       Arpeggio is the rapid change of pitch of one note, so that it will
  210.       sound like two or three notes played simultaneously.  Each number
  211.       is added to the value of the note at that step and the three note
  212.       values are played in rapid succession. Thus, if the arpeggio info
  213.       was 00, the note would play without any alteration. If they were 30 and
  214.       the note was a C-2 (C in octave 2), the notes played in rapid
  215.       succession would be C-2 and D#2.
  216. VV  - These are two numbers, from 0-$E and 0-$F respectively. The first
  217.       number is the amplitude of the modulating waveform used to create the
  218.       vibrato, and the second is the frequency of this waveform (in effect,
  219.       they represent the depth and speed of the vibrato, respectively).
  220. P   - The phase shift speed is a number from 0-$F.  It will have effect only
  221.       on instruments formed from custom waveforms.  What is does is to shift
  222.       the phase of the wave at a certain speed, which gives the resultant wave
  223.       a more interesting sound.
  224. VVV - The first character of the volume info is a letter representing the
  225.       function to use, and can be S, U or D. The S function means that the
  226.       number following the letter (0-$40) is used to set the absolute volume
  227.       for the current note. The U function means that the note's volume will
  228.       be increased from the current value to $40 with a speed given by the
  229.       number following (0-$40 again). The D function is the opposite of the U
  230.       function in that the volume is decreased from it's current value to
  231.       zero volume. With clever use of these effects, complex amplitude
  232.       envelopes can be procuced.
  233. PPP - The first character is the function, S, U or D. The S function, when
  234.       used in conjunction with a note, causes the pitch to slide from it's
  235.       current value up or down to the pitch of the note with a speed
  236.       determined by the number following the S. The U function causes the
  237.       pitch of the note playing to slide up at the speed specified, and the D
  238.       function does the same but slides the pitch down.
  239.  
  240. All  effects  except  arpeggio  will stay in effect as long as possible, once
  241. they've been activated.
  242.  
  243. The  TAB  key,  pressed at any position in AAVVPVVVPPP will enter one or more
  244. "-"  characters.   It  means  that  the  current  effect (over which you have
  245. pressed  tab)  will stop.  Using the tab function over the volume effect will
  246. cause  the volume to stay at its current level.  Adversely, using it over the
  247. pitch  effect  will  cause the pitch to return to it's former value (ie.  the
  248. value of that last note played).
  249.  
  250. Pressing the TAB key over YYY will either make the current note the last note
  251. of  this pattern (place a "pattern break") or it will make the size $40 steps
  252. again if the cursor is over the last step in the pattern.
  253.  
  254. To  insert  a note, press RETURN.  All notes starting at the current position
  255. will  be  moved down.  To delete a note, press BACKSPACE.  All notes starting
  256. at  the  next  position will be moved up.  The last note becomes "empty".  To
  257. wipe a note without shifting the pattern data, press DEL.
  258.  
  259. When  entering  a note YYY, it will sound.  When entering an info-number, you
  260. will hear nothing.
  261.  
  262. Here is what the Pattern Editor window info means:
  263.  
  264.  - PATTERN displays the current pattern number.  You may have up to $100
  265.    patterns in memory (if they fit).  You can't increase the PATTERN number
  266.    if the current pattern is not yet used as part of the song.  Note also
  267.    that you can't clear a pattern from memory like an instrument.
  268.  - CUT, COPY, and PASTE cuts, copies or pastes a pattern.
  269.  - CHANNEL lets you change the channel you want to edit.
  270.  - ON/OFF selects whether or not a channel can be heard while playing the
  271.    song.
  272.  - CUT, COPY, and PASTE cuts, copies or pastes a channel.
  273.  - PLAY plays this pattern.
  274.  - STOP stops playing.
  275.  - LOAD loads a pattern.
  276.  - SAVE stores a pattern.
  277.  - EDIT allows you to perform some versatile editing functions on the
  278.    current channel of the current pattern. See next sub-section.
  279.  
  280. PATTERN EDIT FUNCTIONS:
  281.  
  282. Here's what you can do:
  283.  
  284.  - CHANGE INSTR allows you to substitute one instrument number for another.
  285.  - DELETE INSTR allows you to delete any notes that use the specified
  286.    instrument.
  287.  - NOTE UP/DOWN allows you to increase/decrease the pitch-value of all notes
  288.    in the current channel of the current pattern by one semitone.
  289.  - OCTAVE UP/DOWN is similar to NOTE UP/DOWN but changes the pitch by 12
  290.    semitones, ie. one octave.
  291.  
  292. HOW TO MAKE PSEUDO-WHITE-NOISE EFFECTS:
  293.  
  294. Define  a random waveform (you may have to make several attempts to produce a
  295. nice  one).   Write a pattern using the wave, and use arpeggio values to give
  296. the  sound a more white-noise feel (typical values for the arpeggio are $C3).
  297. You  can  use  phasing  to make the pseudo-white-noise sound smoother.  It is
  298. best  to  use  low  note-values  for  the white-noise effects, as high values
  299. will betray the fact that you're using a fixed waveform.
  300.  
  301.  
  302.                                 SPECIAL KEYS
  303.                                 
  304. When  you're  not  editing  info-numbers in the Pattern Editor, the following
  305. keys will generate a tone:
  306.  
  307. ZSXDCVGBHNJM (lower octave), Q2W3ER5T6Y7U (upper octave)
  308.  
  309. The F1 key will change the octave (displayed in the Instrument window).
  310.  
  311. When changing values with the small arrow gadgets, you can hold down either
  312. shift key to increment/decrement in steps of $10 rather than steps of 1.
  313.  
  314.  
  315.                                 PLAY-ROUTINE
  316.                                 
  317. I have optimised and modified the play-routine so that it is smaller and much
  318. faster.  If the phasing feature of JamCrackerPro is not used much (or at all)
  319. on  custom  waveforms,  the  raster-time  usage  is  much, much less with the
  320. JamCrackerPro  play-routine  than  it  would  have  been  with  the  original
  321. JamCracker  play-routine.   This  is because custom waveforms are only phased
  322. when  necessary,  not all the time as with the old play-routine.  In general,
  323. the  JamCrackerPro  play-routine  should  always  prove to be faster than the
  324. original  JamCracker  play-routine unless you use phasing on custom waveforms
  325. on all four channels simultaneously.
  326.